package com.suke.czx.modules.incentivegrant.service;

import com.suke.czx.common.utils.R;
import com.suke.czx.modules.incentivegrant.entity.IncentiveGrant;

/**
 * 应用模块名称: 绩效
 * 代码描述: 绩效发放业务层接口
 * copyright: AUZAR ALL RIGHTS RESERVED
 * company: AUZAR
 *
 * @author: 颜米晨
 * @date: 2022/08/12 17:25:40
 */
public interface IncentiveGrantService {

    /**
     * 初始化绩效发放
     * @param projectId 项目id
     * @param year 年份
     * @param version 版本
     * @return VO
     */
    R initial(Long projectId, String year, Integer version);

    /**
     * 绩效发放
     * @param incentiveGrant 绩效发放实体
     * @param userId 用户id
     * @return VO
     */
    R grant(IncentiveGrant incentiveGrant, Long userId);

    /**
     * 更新绩效发放
     * @param incentiveGrant 绩效发放实体
     * @return VO
     */
    R update(IncentiveGrant incentiveGrant);

    /**
     * 删除绩效发放
     * @param incentiveGrantId 绩效发放id
     * @param userId 用户id
     * @return VO
     */
    R delete(Long incentiveGrantId, Long userId);

}